<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
//货品列表
class GoodsListsController extends CommonController{
	private $model;
////	类型属性表
	private $tAttrModel;
//	商品属性 表
	private $gAttrModel;
//	构造方法
	public function __init(){
		parent::__init();
		$this->model = new \Admin\Model\GoodsLists;
		$this->tAttrModel= new \Admin\Model\Typeattr;
		$this->gAttrModel = new \Admin\Model\GoodsAttr;
	}
//	显示货品列表页面
	public function index(){
//		接收 get 传过来的tid
		$tid = Q('get.tid',0,'intval');
//		接收get传过来的gid
		$gid = Q('get.gid',0,'intval');
//		2、添加 库存
		if(IS_AJAX){
			if(!$this->model->store()){
				echo json_encode(array('status'=>false,'message'=>$this->model->getError()));
			}else{
				echo json_encode(array('status'=>true,'message'=>'添加成功'));
			}
			exit;
		}
//		1、提取商品所有规格
		$arr = array();
		$tAttrData = $this->gAttrModel->join("type_attr","type_attr_taid","=","taid")->where("goods_gid={$gid} AND taclass=1")->get();
		foreach($tAttrData as $k => $v){
			$arr[$v['taid']][] = $v;
		}
		View::with('arr',$arr);
//		3、查询数据库，分配
		$attrArr = array();
		$gListsData = $this->model->where("goods_lists_gid={$gid}")->get();
		$combine = $this->model->where("goods_lists_gid={$gid}")->lists("combine");
//		sp($combine);
		foreach((array)$combine as $com_k => $com_v){
			$attrArr[] = explode(',', $com_v);
		}
		foreach($gListsData as $k => $v){
			$gListsData[$k]['combine'] = $attrArr[$k];
		}
//		sp($gListsData);	
		$gtypeData = $this->gAttrModel->join("type_attr","type_attr_taid","=","taid")->where("taclass=1 AND goods_gid={$gid}")->lists("gaid,gavalue");
//		sp($gtypeData);
		foreach($gListsData as $kk =>$vv){
			foreach($gListsData[$kk]['combine'] as $kg => $vg){
				$gListsData[$kk]['combine'][$kg] = $gtypeData[$vg];
			}
		}
//		sp($gListsData);
		View::with('gListsData',$gListsData);
		View::make();
	}
//	编辑货品
	public function edit(){
	
//		2、提交修改
		if(IS_AJAX){
			if(!$this->model->edit()){
				echo json_encode(array('status'=>false,'message'=>$this->model->getError()));
			}else{
				echo json_encode(array('status'=>true,'message'=>'修改成功！'));
			}
			exit;
		}
//		1、获取旧数据
//		接收get传来的glid
		$glid = Q('get.glid',0,'intval');
//		接收get传来的gid
		$gid = Q('get.gid',0,'intval');	
//		（1）获取属性表数据
		$OldAttrData = $this->gAttrModel->join("type_attr","type_attr_taid","=","taid")->where("goods_gid={$gid} AND taclass=1")->get();
//		遍历数组，将一样的规格分到一个数组（定义空数组）
		$NewAttrData = array();
		foreach($OldAttrData as $OldAttrData_k => $OldAttrData_v){
			$NewAttrData[$OldAttrData_v['taid']][] = $OldAttrData_v;
		}
//		sp($NewAttrData);
//		(2)查询与glid对应的货品列表数据
		$gListsData = $this->model->where("glid={$glid}")->find();
//		转变成数组
		$gListsData['combine'] = explode(',',$gListsData['combine']);
//		sp($gListsData);
//		分配修改前的选中的规格 数据
		View::with('gListsData',$gListsData);
//		分配数据
		View::with('NewAttrData',$NewAttrData);
		View::make();
	}
//	删除货品
	public function del(){
//		获取get传过来的glid(就是要删除第几个)
		$glid = Q('get.glid',0,'intval');
//		获取get传过来的gid(删除成功后需要跳转到index页面，需要带一个gid，要不然没有gid查不出来数据)
		$gid = Q('get.gid',0,'intval');
//		执行删除
		$this->model->delete($glid);
//		跳转到货品列表页
		go(U('index',array('gid'=>$gid)));
	}
}




 ?>